package com.thouiot.modbus.entity.vo;

import java.io.Serializable;

/**
 * @description modbus master 读取值对象
 * @author wangkai
 * @date 2025/04/15 10:15
 */
public class ReadValueVo {

    /**
     * 读取类型 bool,booleans,short,shorts,number
     */
    private String type;

    private Object value;

    /**
     * 当type 为 number 时使用
     * 数据类型（byte, int, short, long, float, double等）
     * 参考com.serotonin.modbus4j.code.DataType
     * 常用：
     * 1    BINARY
     * 2    TWO_BYTE_INT_UNSIGNED
     * 3    TWO_BYTE_INT_SIGNED
     * 4    FOUR_BYTE_INT_UNSIGNED
     * 5    FOUR_BYTE_INT_SIGNED
     * 8    FOUR_BYTE_FLOAT
     */
    private Integer dataType;

    /**
     * 当 type 为 bytes 时使用
     * 读取长度，读取类型为 booleans、numbers 时使用
     */
    private Integer len;

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Integer getDataType() {
        return dataType;
    }

    public void setDataType(Integer dataType) {
        this.dataType = dataType;
    }

    public Integer getLen() {
        return len;
    }

    public void setLen(Integer len) {
        this.len = len;
    }

    public Object getValue() {
        return value;
    }

    public void setValue(Object value) {
        this.value = value;
    }
}
